為了保護Vault server避免user過度不必要的頻繁存取或是惡意DDOS攻擊,造成server服務中斷,可以透過rate limit api來限制存取Vault的頻率。
.name
: 建立這個rate limit的名稱,例如: erp team的都套用這個規則就 /v1/sys/quotas/rate-limit/erp
$ curl \
--request POST \
--header "X-Vault-Token: ..." \
--data @payload.json\
http://127.0.0.1:8200/v1/sys/quotas/rate-limit/{$name}
.path
: secret path.
.rate
: 允許給定間隔(interval)內的最大請求數。
.interval
: 間隔多久,如上面的設定就是5分鐘內最多可以有600個請求。(預設1秒)
.block_interval
: 到達請求上限後,禁止多少時間的請求。
# payload.json
{
"path": "erp/",
"rate": 600,
"interval": 5m",
"block_interval": "1m"
}
$ curl \
--request DELETE \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/quotas/rate-limit/{$name}